package com.guhecloud.step.definition.runtime.annotation;

import com.guhecloud.step.definition.runtime.IDomainStep;
import org.springframework.core.annotation.AliasFor;
import org.springframework.stereotype.Service;

import java.lang.annotation.*;

/**
 * 领域步骤
 */
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@Service
public @interface Step {
    @AliasFor(annotation = Service.class, attribute = "value") String value() default "";

    String name() default "";

    String[] tags() default {};

    Class<? extends IDomainStep>[] dependsOn() default {};
}
